$(function () {
    // 定义全局变量
    let countdown = 60;
    let timer = null;

    // 点击修改链接时显示验证弹窗
    $('.modify-link').click(function (e) {
        e.preventDefault();
        // 检查链接文本是否包含"手机"关键字
        if ($(this).text().includes('手机')) {
            $('.verify-modal').fadeIn(300);
        } else {
            alert('该功能暂未实现，敬请期待！');
        }
    });

    // 关闭弹窗
    $('.close-btn').click(function () {
        $('.verify-modal').fadeOut(300);
    });

    // 点击弹窗外部关闭弹窗
    $('.verify-modal').click(function (e) {
        if ($(e.target).hasClass('verify-modal')) {
            $(this).fadeOut(300);
        }
    });

    // 切换验证方式
    $('.tab-item').click(function () {
        $('.tab-item').removeClass('active');
        $(this).addClass('active');

        const tabType = $(this).data('tab');
        $('.verify-panel').removeClass('active');
        $('.' + tabType + '-panel').addClass('active');
    });

    // 发送验证码
    $('.send-code-btn').click(function () {
        const $btn = $(this);
        if ($btn.hasClass('disabled')) return;

        // 获取手机号
        const phone = $('#hiddenPhone').val();

        // 验证手机号格式
        if (!phone || !/^1[3-9]\d{9}$/.test(phone)) {
            alert('手机号格式不正确');
            return;
        }

        // 发送AJAX请求获取验证码
        $.ajax({
            url: 'SendSms',
            type: 'POST',
            data: {phone: phone},
            dataType: 'json',
            success: function (res) {
                if (res.code === '0000') {
                    // 开始倒计时
                    startCountdown($btn);
                    alert('验证码已发送，请注意查收');
                } else {
                    alert('验证码发送失败，请重试');
                }
            }
        });
    });

// 提交验证
    $('.verify-submit').click(function () {
        const activePanel = $('.verify-panel.active');
        const isPhone = activePanel.hasClass('phone-panel');

        if (isPhone) {
            const phone = $('#hiddenPhone').val();
            // 修改这里：直接获取用户输入的验证码
            const code = activePanel.find('input[type="text"]').not('[readonly]').val().trim();

            if (!code) {
                alert('请输入验证码');
                return;
            }

            // 发送验证码验证请求
            $.ajax({
                url: 'ValSmsCode',
                type: 'POST',
                data: {
                    phone: phone,
                    valCode: code  // 发送用户输入的验证码
                },
                dataType: 'json',
                success: function (res) {
                    if (res.code === '0000') {
                        window.location.href = 'update_phone.jsp';
                    } else {
                        alert('验证码错误，请重试');
                    }
                }
            });
        } else {
            // 密码验证逻辑
            const password = activePanel.find('input[type="password"]').val();
            const phone = $('#hiddenPhone').val();

            if (!password) {
                alert('请输入登录密码');
                return;
            }

            $.ajax({
                url: 'validatePassword',
                type: 'POST',
                data: {
                    phone: phone,
                    password: password  // 发送原始密码，服务器端进行加密
                },
                dataType: 'json',
                success: function (res) {
                    if (res.success) {
                        window.location.href = 'update_phone.jsp';
                    } else {
                        alert(res.message || '密码错误，请重试');
                    }
                },
                error: function () {
                    alert('网络错误，请重试');
                }
            });
        }
    });

    // 倒计时函数
    function startCountdown($btn) {
        // 重置倒计时
        countdown = 60;

        // 清除可能存在的旧定时器
        if (timer) {
            clearInterval(timer);
        }

        $btn.addClass('disabled');
        $btn.text(`${countdown}s后重新获取`);

        timer = setInterval(() => {
            countdown--;
            if (countdown > 0) {
                $btn.text(`${countdown}s后重新获取`);
            } else {
                clearInterval(timer);
                timer = null;
                $btn.removeClass('disabled');
                $btn.text('获取验证码');
            }
        }, 1000);
    }

    // 输入框获得焦点时隐藏错误提示
    $('input').focus(function () {
        $(this).closest('.form-group').find('.error-tips').hide();
    });

    // 手机号输入验证
    $('.phone-input').on('input', function () {
        const phone = $(this).val().trim();
        if (phone && !/^1[3-9]\d{9}$/.test(phone)) {
            $('#phoneError').text('请输入正确的手机号').show();
        } else {
            $('#phoneError').hide();
        }
    });

    // 返回按钮
    $('#cancelBtn').click(function () {
        window.location.href = 'Info.jsp';
    });

    // 页面卸载时清除定时器
    $(window).on('unload', function () {
        if (timer) {
            clearInterval(timer);
        }
    });
});